package basic

import (
	"github.com/samuel/go-zookeeper/zk"
)
/**
	创建Session类型的接口
	服务启动时创建成功，服务停止后，Session节点则自动消失
 */
func CreateSessionZkNode(path string,data string) error{
	var flag int32
	flag=1
	return CreateZkNode(path,data,flag)
}
/**
	创建永久节点
 */
func CreateForeverZkNode(path string,data string) error{
	var flag int32
	flag=0
	return CreateZkNode(path,data,flag)
}
/**
	创建节点
 */
func CreateZkNode(path string,data string,flags int32) error{
	var databyte=[]byte(data)
	var acls=zk.WorldACL(zk.PermAll)//控制访问权限模式
	_,err := GetZkClient().Create(path,databyte,flags,acls)
	if err!= nil {
		return err
	}
	return nil
}


/**
	删除节点
 */
func DeleteZkNode(path string) error{

	err := GetZkClient().Delete(path,0)
	if err!= nil {
		return err
	}
	return nil
}
/**
	获取节点值
 */
func GetZkNodeValue(path string) (value string,err error) {
	result,_,err :=GetZkClient().Get(path)
	if err!= nil {
		return "",err
	}
	return string(result),nil
}


